import { defineStore } from 'pinia';

// ObjectList表示一个对象，其中键为字符串，对应的值为字符串数组
interface ObjectList {
    [key: string]: string[];
}

export const usePermissStore = defineStore('permiss', {
    state: () => {
        const defaultList: ObjectList = {
            // 根据用户不同的权限输入对应组件的 permiss: 'number'标识
            admin: [
                '0', //首页
                '1', //主题菜单
                '2', //主题菜单
                '21', //主题菜单
                '22', //主题菜单
                '23', //主题菜单
                '24', //主题菜单
                '25', //主题菜单
                '26', //主题菜单
                //============================================================================
                '3', //menu菜单：系统管理（ id: '1'）
                '31',//menu菜单：系统管理下的“用户管理”（ id: '11'）
                "32",//路由的访问权限：“用户管理”的页面的访问权限：permiss: '12',
                //===========【menu菜单和其对应的页面的访问权限（成对出现）】=====================
            ],
            user: [
                '0',//首页
            ],
        };
        const username = localStorage.getItem('vuems_name');
        return {
            key: (username == 'admin' ? defaultList.admin : defaultList.user) as string[],
            defaultList,
        };
    },
    actions: {
        handleSet(val: string[]) {
            this.key = val;
        },
    },
});
